package icu.study.netty.server;

import io.netty.channel.Channel;
import io.netty.channel.ChannelId;
import io.netty.channel.group.ChannelGroup;
import io.netty.channel.group.ChannelGroupFuture;
import io.netty.channel.group.ChannelMatcher;

import java.util.Map;

/**
 * @program: protobuf
 * @description:
 * @author: 1246263205@qq.com
 * @create: 2020-11-19 13:44
 */
public interface MyGroupChannel extends Map<String, Channel>, Comparable<ChannelGroup> {
    
    String name();

    Channel find(ChannelId var1);

    ChannelGroupFuture write(Object var1);

    ChannelGroupFuture write(Object var1, ChannelMatcher var2);

    ChannelGroupFuture write(Object var1, ChannelMatcher var2, boolean var3);

    ChannelGroup flush();

    ChannelGroup flush(ChannelMatcher var1);

    ChannelGroupFuture writeAndFlush(Object var1);

    /**
     * @deprecated
     */
    @Deprecated
    ChannelGroupFuture flushAndWrite(Object var1);

    ChannelGroupFuture writeAndFlush(Object var1, ChannelMatcher var2);

    ChannelGroupFuture writeAndFlush(Object var1, ChannelMatcher var2, boolean var3);

    /**
     * @deprecated
     */
    @Deprecated
    ChannelGroupFuture flushAndWrite(Object var1, ChannelMatcher var2);

    ChannelGroupFuture disconnect();

    ChannelGroupFuture disconnect(ChannelMatcher var1);

    ChannelGroupFuture close();

    ChannelGroupFuture close(ChannelMatcher var1);

    /**
     * @deprecated
     */
    @Deprecated
    ChannelGroupFuture deregister();

    /**
     * @deprecated
     */
    @Deprecated
    ChannelGroupFuture deregister(ChannelMatcher var1);

    ChannelGroupFuture newCloseFuture();

    ChannelGroupFuture newCloseFuture(ChannelMatcher var1);


}